package com.gztms.usermgnt.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.Date;

/**
 * @author Zoey
 * @date 2023/3/7 16:11
 * @Description 用户实体
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "user")
@Accessors(chain = true)
public class User implements Serializable {
    private static final long serialVersionUID = -40356785423868312L;
    /**
     * 用户账号
     */
    @TableId
    private String uid;
    /**
     * 用户昵称
     */

    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 状态
     * 0-可用
     * 1-已禁用
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer status;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 手机号
     */
    private String phone;
    /**
     * 住址
     */
    private String address;
    /**
     * 用户性别
     * 0-男
     * 1-女
     * 2-未知
     */
    @TableField(fill = FieldFill.INSERT)
    private Integer gender;
    /**
     * 头像
     */
    @TableField(fill = FieldFill.INSERT)
    private String avatar;
    /**
     * 是否删除
     * 0-未删除，默认
     * 1-已删除
     */
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private Integer isDelete;
    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;
    /**
     * 个人介绍
     */
    private String userDesc;


}
